Pixel mirror based stage lighting system

ABSTRACT

A lighting system with a digital micromirror device which forms a digital gobo system that is controllable on a pixel level. The device includes a number of sensitive electronic elements. The device is controlled by two different controllers: a digital signal processor which is effectively the number crunching portion, and a controller, which controls the functions of the light. The controller also logs errors into a registry, such as a non-volatile memory. A field programmable gate array is used for a number of purposes, including to form the ports. One of those ports is a tech port, which is used to detect status of the light such as faults.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application is a divisional of and claims priority to U.S. application Ser. no. 09/756,037, filed Jan. 5, 2001, which is a divisional of U.S. application Ser. No. 09/145,313, filed Aug. 31, 1998, now U.S. Pat. No. 6,208,087.

[0002] The present invention describes improvements in a digital mirror stage lighting system. More specifically, the present invention describes techniques which are used to improved operation in the special environment produced by the digital mirror stage lighting system.

BACKGROUND OF THE INVENTION

[0003] Stage lighting systems have increased in complexity in recent years. It is desirable to be able to change literally any aspect of the beam projected by a stage light from a remote location. Light & Sound Design, the assignee of the present application, have suggested in other patents and applications that many of these issues couple be improved by a stage lighting system that uses an active, x, y addressable element with a digital micromirror device (“DMD”) available from Texas Instruments. These devices use an array of controllable mirrors to selectively reflect light in pixel units. These devices have also been called digital mirror, digital light processor (DLP), and other names. Light can be selectively reflected in units of picture elements or pixels. This allows total control of light shape and certain other characteristics. Other devices which are controllable to selectively change characteristics of pixels of light, such as a grating light valve (GLV), can also be used for this purpose.

[0004] These concepts are disclosed in several pending patent applications of Light & Sound Design, including Ser. No. 08/854,353, the disclosures of which are herewith incorporated by reference to the extent necessary for proper understanding.

[0005] The pixel based light processors, however, themselves produces certain issues, including control issues and cooling issues. The present disclosure describes these and other issues which were found to exist, and describes certain solutions found by the inventors to combat these issues.

SUMMARY OF THE INVENTION

[0006] A number of aspects are described according to the present invention, and the following summary explains at least some of these aspects.

[0007] A first aspect includes control of the digital mirror device (DMD) and other associated operations. The control is typically completely digital, and many of the operations are carried out entirely mathematically. Therefore, a distributed control with a first control element that carries out mathematical calculations and a second control element which is optimized for control is desirable.

[0008] According to an aspect of the embodiment, the second control element is affected out entirely by a programmable gate array, such as a field programmable gate array or similar configurable device. A particularly preferred embodiment reconfigures the device after bulb startup, to avoid noise danger during the bulb startup.

[0009] Another aspect is that the digital mirror has loses a certain amount of light. This has required brighter, and hence more power intensive, bulbs. One aspect of this invention is relates to how the operation occurs to keep the heat of the bulb and ignition of the bulb from affecting the other subsystems.

[0010] The great amount of heat has produced the need for advanced cooling techniques. However, the digital mirror has specialized temperature requirements. According to this aspect, a pulse-driven thermoelectric cooler is used and the pulse width to the cooler is changed to change the amount of cooling.

[0011] Other aspects of this invention describe the way in which the control element carries out the operation.

BRIEF DESCRIPTION OF THE DRAWINGS

[0012] These and other aspects of the invention will now be described in detail with respect to the accompanying drawings, in which:

[0013]FIG. 1 shows a block diagram of the electronics of the system;

[0014]FIG. 2 shows a flowchart of operation of the system of the supervisor;

[0015]FIG. 3 shows a block diagram of the supervisor hardware;

[0016]FIG. 4 shows a flowchart of operation of the different processes carried out by the supervisor;

[0017]FIGS. 5A and 5B show a service package type cooler and detector device.

[0018]FIG. 6 shows the thermoelectric cooler connected to the digital mirror.

[0019]FIG. 7 shows a flowchart of the cooling operation carried out by the thermoelectric device.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0020]FIG. 1 shows a block diagram of the electronic control system of the preferred embodiment. The TI DLP board 100 is an off the shelf board from Texas Instruments which carries out control of the digital mirror and other pre-defined functions. Associated functions for control of this system are carried out in a field programmable gate array 110 which is preferably of the electronically reconfigurable type. This device is reconfigured into certain logical devices.

[0021] The video is controlled by a digital signal processor 150, in this case, a 320C80. The digital signal processor (“DSP”) 150 carries out certain operations under control of the user. DSP 150 also includes two different kinds of slave memory, a flash memory 152 which includes the main program for the DSP 150 and which also includes certain shapes for various controlled lights. Certain information is also stored in synchronous DRAM 154. On start up, the initial program is transferred from flash memory 152 into the sync DRAM 154 and used to control the digital signal processor 150 and certain other aspects of the electronics. The video device produces an output in the form used by the DLP board 114.

[0022] Serial port 114 is connected to receive data from the controlled console 116. This data can be sent in any desired serial format and the information is placed on the main data bus 160. Another serial port 118 is an RS-485 bus driver to form the motor control bus which is described further herein. An IIC port 120 is also formed for other communication operation.

[0023] Serial data from the console 116 received via a serial port 114 is input directly to the master digital signal processor (“DSP”) 150, which is preferably a Texas Instruments multimedia video processor (“MVP”) model number TMS320C80. DSP 150 uses the information to provide a serial port output which is converted to RS-485 protocol by bus driver serial port driver 118. The motor control bus is preferably an RS485 bus which controls and communicates with each of the motor subsystems as described in our copending applications.

[0024] Each of the motor control subsystems is a separated unit including all of the hardware necessary to control its associated motor and other hardware according to applied commands. The motor control subsystem includes a dedicated control structure. For example, a pan/tilt motor subsystem includes all controlling structure for the motor, and the motor itself. This combination allows a modular operation, precise matching between components, and more accurate calibration.

[0025] Master DSP 150 has primary responsibility for controlling operations of the lamp including control of the DMD. This latter operation requires computation of complex operations to provide control information for the DMD. At times, these calculations leave little time for the master DSP 150 to do much else.

[0026] A separate supervisor system 199 has primary responsibility for monitoring status of the lamp and making decisions based on that status. Supervisor 199 is also connected to the motor control bus. Supervisor 199 is preferably a microcontroller as described herein. The microcontroller monitors status of the subsystems including the master. The microcontroller can also control the motor control bus when the determined status makes that appear it becomes desirable or necessary.

[0027] Unlike digital signal processor 150, however, the microcontroller is a very technically simple device, adapted for watching the bus and other devices, and monitoring for errors. The microcontroller carries out minimal number crunching; its primary function is to protect and diagnose faults. The supervisor also controls various other functions in the system.

[0028] The supervisor 199 monitors the output of temperature sensors to monitor and control various temperatures within the system. Supervisor 199 is also connected to the ballast of the lamp to monitor the condition and operation of the ballast. Finally, supervisor 199 receives possible program parameters from flash memory unit 152.

[0029] The operation of the DMD 100 is controlled by master DSP 156 to form any light shape which can be described as a plurality of pixels. A library of possible shapes is stored in image SDRAM 154.

[0030] The serial communications device 114 can also be a dual port RAM with a mailbox. In this case, the information is set into the RAM, and is flagged. The DSP 150 monitors for new data by investigating the flag to determine whether the flag is set. Whenever the flag is set, DSP 150 retrieves the new information from the RAM and appropriately processes it.

[0031] As described above, many of the control device structures can be effected using a field programmable gate array 110. More specifically, any communications port or communications driver, and/or any and all output buffers are preferably formed by reconfiguration of the FPGA. The structures can be described using hardware definition language “HDL” or each of the electronic structures can be configured. Many various canned configurations for FPGAs are well known.

[0032] The operation of the system is controlled according to the flowchart of FIG. 2. The system initially boots at step 200, which requires transferring the system program from protected flash memory 152 to SDRAM 154, and beginning operation. At step 202 a global reset is generated. This global reset includes at least the DSP reset vector, and may also force a mechanical reset of all motors.

[0033] After the reset at step 202, the DSP main loop is running. The DSP main loop then sends a command to configure the FPGA 110 at step 204. The command to configure the FPGA 110 causes the FPGA to form the different logical blocks shown in FIG. 1. After this, the DSP loop continues shown generically as step 206. This includes receiving commands from the console, and other housekeeping functions. The normal loop continues until an ignite lamp command is received at step 208. The lamp is a very high powered lamp, and requires an inductive ballast for operation. The transients produced by the lamp ignition can cause noise transients in the rest of the system.

[0034] When the ignite lamp command is received at step 208, a corresponding command is sent to the supervisor subsystem indicating same at step 210. The supervisor is a low level system, as described above, which is optimized for control of faults. The supervisor has overall control of many of the reset functions, and at step 212, initiates a responsive reset. This includes including a break on the motor control bus, holding all the serial com ports in reset, and commanding all boards attached to the supervisor into a hard reset state. The operations in step 212 are done to prepare the system for the inevitable electromagnetic pulse that will be produced by the striking of the bulb. Once all of the above is completed, at step 214, the supervisor program is halted, and the lamp is ignited. This ignition uses a special subprogram during which no other operations are carried out.

[0035]FIG. 2 shows this as halting the supervisor program. After the lamp is ignited at step 214, the supervisor and all subsystems are released from reset at step 216. Operation then returns to the normal supervisor loop and the normal DSP loop shown as 230.

[0036] The supervisor, as described above, is optimized for lower level operations and monitoring; compared with the higher level number crunching operations which are carried out by digital signal processor 150. A block diagram of the supervisor is shown in FIG. 3. A low level microcontroller such as the 8051 forms the microcontrolling operation. A power supply/regulator 302 supplies microcontroller 300 with its own source of power. This is done to minimize problems from other power supplies.

[0037] An external interface to supervisor 199 is provided by the tech port 310. The tech port 310 is connected to a tech port interface 312 which connects to the microcontroller through a UART. The tech port enables certain operations of the lamp to be individually controlled through the simplified serial interface.

[0038] An optional indicator subsystem 320 provides indications of power, data, and error for the operation of the lamp.

[0039] Ballast interface 330 connects to the lamp ballast and controls its operation.

[0040] The tech port also includes temperature sensor interface 340. The temperature sensors connect to that interface. An IIC bus driver is also provided as element 350.

[0041] The microcontroller uses associated RAM 360 and real time clock, which is battery powered by battery 362.

[0042] The microcontroller 8051 also includes an RS-485 interface 370 which forms a motor control bus (“MCB”).

[0043] As described above, many of the features of the supervisor including the interface elements 312/314, 350 and 370 can be configured out of a field programmable gate array.

[0044] The IIC bus 352 connects to a number of different devices, including ROM 354 which includes the yoke serial number, another memory including the head serial number, information indicative of the ballast serial number and the temperature sensor, and the like.

[0045] The supervisor tracks bulb life by storing an indication of bulb changing along with the current time stamp, each time a new bulb is placed into service. Time stamps for other events are also stored. The supervisor also keeps track of certain events, including removal of certain subsystems. It is presumed that these subsystems are serviced when removed. All of this information is stored in a system “registry” in EEPROM 354.

[0046] Certain changes which cannot be automatically detected, such as the time since bulb change, are manually entered into the registry through the tech port 310.

[0047] The information in the registry can be read by the serial device over tech port 310.

[0048] An alterative embodiment allows the information to be commanded to be displayed by the lamp itself as a diagnostic gobo. A lamp display command causes the messages to be converted to fonts and used to control the DMD 100 to display the text error message by shaping the text light output. This allows detecting the contents of the registry without a dedicated display terminal using the existing digital light altering device as a display mechanism. This effectively uses the gobo function of pixel-level addressable device to form a diagnostic function.

[0049] The supervisor has a number of operating modes including the initialization mode, locking mode, general task mode, error mode, and technician mode. Each of these modes will be described with reference to the flowchart of FIG. 4.

[0050] The supervisor is initially started in the initialization mode. This mode can use any number of specific internal self tests. The self tests are well known in the art, and are shown generically as step 400. The internal tests include, but are not limited to, the following:

[0051] Internal clock running

[0052] External Ram test

[0053] IIC bus test

[0054] Supervisor temperature sensor test

[0055] IIC Related Bus Tests:

[0056] Chassis serial number check

[0057] Head serial number check

[0058] Ballast serial number check

[0059] Ballast temperature sensor check

[0060] Remote temperature sensor board test

[0061] TEC Board Test

[0062] Thermocouples present tests

[0063] MCB Device Tests:

[0064] DSP master serial number

[0065] Color disk 1 serial number

[0066] Color disk 2 serial number

[0067] Rear zoom lens serial number

[0068] Front zoom lens

[0069] Focus lens

[0070] Shutter

[0071] Custom color

[0072] RGB wheel

[0073] Pan

[0074] Tilt

[0075] If the device completes all these tests, control passes to the next mode called the logging mode. The supervisor continually logs certain error messages. Step 402 shows a 2-second interrupt driven output routine. The output routine outputs temperature data and bulb run time every 2 seconds. The error messages can be output every 2 seconds. An alternate technique outputs all data changes as they occur. The output preferably occurs via the tech port 310 although alternately output can be carried out in some other way.

[0076] The internal motors of the lamp are also monitored for error messages over the MCB. Each drive module can produce either an error message or a lack of response. Either the error message or the lack of response can be taken as an error.

[0077] Certain errors are considered fatal errors and detected at step 406. For example, over-temperature errors are considered to be fatal, and certain failed movement errors can be considered as fatal. If a fatal error is determined at step 406, then the bulb is turned off at step 408 to prevent damage, or an erratically-acting lamp unit. An errant light will produce much less visual anomalies if not properly illuminated.

[0078] Once the system is placed into the error mode at step 408, it remains that way until the technician takes control of the fixture using the tech port terminal.

[0079] The general task processing loop begins at step 410 with reading temperature sensors and error messages and outputting these values to the tech port as necessary. A number of operations are carried out during these general tasks. The lamp is also carefully monitored.

[0080] Each time through the loop, the general tasks shown generally as step 412 are also carried out. These general tasks include:

[0081] Incrementing lamp run time counter

[0082] Incrementing bulb run time counter if bulb is lit

[0083] Entering time and date stamp for lamp turn on

[0084] Entering time and date stamp for bulb on and off events

[0085] Lamp status after self check

[0086] Change of assembly including new serial number after change of assembly

[0087] Snapshot of temperatures

[0088] Also errors are logged including non-fatal and fatal errors with time and date stamp information for these errors.

[0089] At any time during the operation, the technician can take control of the system, shown as step 420. Normal operation of the lamp is suspended when the technician takes control. This is shown as step 422 which requires a halt when the technician mode is detected at step 420. In technician mode, the system allows:

[0090] Clearing the contents of logged memory by downloading the log

[0091] Performing set moves to allow the technician to check lamp operation

[0092] Run a built-in light “chase”

[0093] View error logs in detail or obtain a status check

[0094] Perform diagnostic tests and fault finding using the terminal based on error codes

[0095] Downlet preset messages' to assemblies via the supervisor to test various operations

[0096] In the tech mode, various errors can also be detected and displayed. Each error code has an associated tech string used to describe the error in plain but abbreviated English. This tech string is transmitted through the serial port 312 to the hand held terminal for display. Various tests are described herein.

[0097] The following list details certain types and categories of errors that can be detected. This allows the technician to determine if those errors are fatal or non-fatal.

[0098] IIC Bus Start Condition Test

[0099] Purpose: Checks that the clock and data lines of the IIC bus respond correctly when a start condition is generated on the IIC bus.

[0100] Called: Each time an IIC start subroutine is called.

[0101] Errors Reported:

[0102] None; if an error is detected, the IIC bus test routine is called.

[0103] IIC Bus Test

[0104] Purpose: Checks that the clock and data lines of the IIC bus respond correctly.

[0105] Called: At start up and on each read to an IIC device if the lines do not respond correctly during the generation of a start condition (IIC Bus Start Test).

[0106] Errors Reported:

[0107] Data line lo.

[0108] Date line Hi.

[0109] Clock line lo.

[0110] Clock line Hi.

[0111] Clock and data line shorted to each other.

[0112] This test looks for the correct operation of the IIC bus clock and data lines. All error codes produced by these tests are FATAL because none of the devices on the bus will be accessible to the supervisor. The supervisor sets the clock and data lines hi and waits for one IIC bus clock cycle. The lines are then tested (testing the port pins, not the output latches of the micro controller). If they are in a hi state, two possible errors can be detected at this point; data line pulled low or clock line pulled low.

[0113] IIC Acknowledge Test

[0114] Purpose: Checks that the selected IIC device which has been addressed generates an acknowledge signal within 32 IIC bus clock cycles.

[0115] Called: After any IIC bus address has been issued to talk to a device.

[0116] Errors Reported:

[0117] Remote temperature sensing PCG missing.

[0118] Ballast temperature sensor missing.

[0119] Thermo-electric controller board missing.

[0120] Ballast Rom missing.

[0121] Yoke Rom missing.

[0122] Head Rom missing.

[0123] Supervisor temperature sensor missing.

[0124] Broken/Missinq Thermocouple Test

[0125] Purpose: Checks that the selected thermocouple on the remote temperature sensing board is present. If it is missing or broken, it will be flagged as bad in the corresponding status byte for the thermocouple channel.

[0126] Called: When each thermocouple is read.

[0127] Errors reported: Thermocouple 1 broken or missing. Thermocouple 2 broken or missing. Thermocouple 3 broken or missing. Thermocouple 4 broken or missing. Thermocouple 5 broken or missing. Thermocouple 6 broken or missing. Thermocouple 7 broken or missing. Thermocouple 8 broken or missing.

[0128] Note: There may be further thermocouples on the TEC board which will be labeled T9 to Tn.

[0129] Clock Test

[0130] Purpose: Checks that the external time-keeper is running by checking that the seconds register increases by 1 second timed by the micro running a software generated delay.

[0131] Called: At start-up.

[0132] Errors Reported:

[0133] Clock error.

[0134] Note: It is also possible to test other registers (i.e., minutes or date) for the numbers being in a valid range if desired.

[0135] External Ram Test

[0136] Purpose: Checks that the external battery backed ram can be read and written.

[0137] Called: At start-up.

[0138] Errors reported:

[0139] Read write error.

[0140] Note:. It may make sense to have this as part of the clock test routine as a missing clock will probably mean missing ram.

[0141] Thermocouple Limit Test

[0142] Purpose: Checks that a selected thermocouple channel temperature reading has not exceeded a pre-set limit.

[0143] Called: When a thermocouple temperature channel is read.

[0144] Errors reported: Thermocouple 1 exceeded pre-set temperature. Thermocouple 2 exceeded pre-set temperature. Thermocouple 3 exceeded pre-set temperature. Thermocouple 4 exceeded pre-set temperature. Thermocouple 5 exceeded pre-set temperature. Thermocouple 6 exceeded pre-set temperature. Thermocouple 7 exceeded pre-set temperature. Thermocouple 8 exceeded pre-set temperature. Thermocouple 1 exceeded upper temperature limit. Thermocouple 2 exceeded upper temperature limit. Thermocouple 3 exceeded upper temperature limit. Thermocouple 4 exceeded upper temperature limit. Thermocouple 5 exceeded upper temperature limit. Thermocouple 6 exceeded upper temperature limit. Thermocouple 7 exceeded upper temperature limit. Thermocouple 8 exceeded upper temperature limit.

[0145] Thermocouple differential pre-set exceeded.

[0146] Thermocouple differential upper limit exceeded.

[0147] Note: Two types of limits have been outlined. The pre-set limit warns that temperatures are starting to get dangerously high and may point towards a filter on an air intake becoming blocked and requiring cleaning for example. This type of error would be non-fatal. If the upper temperature level is exceeded it becomes a fatal error and the supervisor would have to take steps to protect the fixture.

[0148] The last two differential errors relate to the temperature measurement on the DMD and the thermo-electric cooling. To prevent damage to the device, the temperature difference cannot exceed a certain level.

[0149] Digital Temperature Sensor Limit Test

[0150] Purpose: Checks that a selected digital temperature sensor reading has not exceeded a pre-set limit.

[0151] Called: When a digital temperature sensor is read.

[0152] Error reported:

[0153] Supervisor exceeded pre-set temperature.

[0154] Ballast exceeded pre-set temperature.

[0155] Supervisor exceeded upper temperature limit.

[0156] Ballast exceeded upper temperature limit

[0157] Note: Two types of limits have been outlined. The pre-set limit warns that temperatures are starting to get dangerously high and may point towards a filter on an air intake becoming blocked and requiring cleaning for example. This type of error would be non-fatal.

[0158] If the proper temperature level is exceeded, it becomes a fatal error and the supervisor carries out the processing steps to protect the fixture.

[0159] It may well be that no actions will be available to the supervisor to prevent damage other than reducing the power consumption of the fixture.

[0160] IIC Serial Number Tests

[0161] Purpose: Checks electronic serial number of assemblies on the IIC bus.

[0162] Called: During start up.

[0163] Errors reported:

[0164] Ballast serial number changed.

[0165] Remote temperature sensor PCB serial number changed.

[0166] TEC serial number changed.

[0167] Yoke serial number changed.

[0168] Head serial number changed.

[0169] Ballast serial number missing/invalid.

[0170] Remote temperature sensor PCB serial number missing/invalid.

[0171] TEC serial number missing/invalid.

[0172] Yoke serial number missing/invalid.

[0173] Head serial number missing/invalid.

[0174] Note: Two types of errors have been outlined. A missing serial number error may only be required during manufacturing and testing.

[0175] MCB Serial Number Checks

[0176] Purpose: Checks electronic serial number of assemblies on the MCB bus.

[0177] Called: During start up.

[0178] Errors reported:

[0179] DSP master serial number changed.

[0180] Pan assembly serial number changed.

[0181] Tilt assembly serial number changed.

[0182] Lens 1 assembly serial number changed.

[0183] Lens 1 assembly serial number changed.

[0184] Focus assembly serial number changed.

[0185] RGB assembly serial number changed.

[0186] Color disk 1 assembly serial number changed.

[0187] Color disk 2 assembly serial number changed.

[0188] Customer color disk assembly serial number changed.

[0189] Ballast serial number missing/invalid.

[0190] Remote temperature sensor PCB serial number missing/invalid.

[0191] TEC serial number missing/invalid.

[0192] Yoke serial number missing/invalid.

[0193] Head serial number missing/invalid.

[0194] Note: Two types of errors have been outlined. A missing serial number error may only be required during manufacturing and testing.

[0195] If a module fails to respond, it can be used to detect the absence of a drive module.

[0196] MCB Bus Status Byte Tests

[0197] Purpose: Checks status bytes of drive modules on the MCB bus.

[0198] Called: During monitoring of MCB bus.

[0199] Errors reported:

[0200] Pan has failed to reset.

[0201] Pan drive module over pre-set temperature.

[0202] Pan drive module has exceeded maximum temperature.

[0203] Pan assembly detected MCB errors.

[0204] Tilt has failed to reset.

[0205] Tilt drive module over pre-set temperature.

[0206] Tilt drive module has exceeded maximum temperature.

[0207] Tilt assembly detected MCB errors.

[0208] Lens 1 failed to reset.

[0209] Lens 1 drive over pre-set temperature.

[0210] Lens 1 has exceeded maximum temperature.

[0211] Lens 1 lost position.

[0212] Lens 1 assembly detected MCB errors.

[0213] Lens 2 failed to reset.

[0214] Lens 2 drive over pre-set temperature.

[0215] Lens 2 has exceeded maximum temperature.

[0216] Lens 2 lost position.

[0217] Lens 2 assembly detected MCB errors.

[0218] Focus failed to reset.

[0219] Focus drive over pre-set temperature.

[0220] Focus has exceeded maximum temperature.

[0221] Focus lost position.

[0222] Focus assembly detected MCB errors.

[0223] Color 1 failed to reset.

[0224] Color 1 drive over pre-set temperature.

[0225] Color 1 has exceeded maximum temperature.

[0226] Color 1 lost position.

[0227] Color 1 assembly detected MCB errors.

[0228] Color 2 failed to reset.

[0229] Color 2 drive over pre-set temperature.

[0230] Color 2 has exceeded maximum temperature.

[0231] Color 2 lost position.

[0232] Color 2 assembly detected MCB errors.

[0233] Custom color failed to reset.

[0234] Custom color drive over pre-set temperature.

[0235] Custom color has exceeded maximum temperature.

[0236] Custom color lost position.

[0237] Custom assembly detected MCB errors.

[0238] RGB locator failed to reset.

[0239] RGB locator drive over pre-set temperature.

[0240] RGB locator has exceeded maximum temperature.

[0241] RGB locator lost position.

[0242] RGB assembly detected MCB errors.

[0243] Shutter failed to reset.

[0244] Shutter drive over pre-set temperature.

[0245] Shutter has exceeded maximum temperature.

[0246] Shutter lost position.

[0247] Shutter assembly detected MCB errors.

[0248] DSP RAM error.

[0249] DSP ROM error.

[0250] DSP FPGA error.

[0251] DLP IIC bus error 1.

[0252] DLP IIC bus error 2.

[0253] DLP IIC bus error 3.

[0254] DLP IIC bus error 4.

[0255] ICON data errors (errors detected by DSP master).

[0256] MCB bus data errors (framing and parity errors detected by supervisor).

[0257] Note: Two types of errors have been outlined. A missing serial number error may only be required during manufacturing and testing.

[0258] Definition of errors details how they are detected and if they are fatal or non-fatal. This would require outlining how the operator will perceive the error.

[0259] The preferred hand held terminal for the tech port is a micropalm 1200 which has a 320 X 200 pixel display with gray scale.

[0260] The terminal allows different operations to be displayed. FIG. 5 shows a graphical representation of different temperature readings to be shown on the display. Time graphs of errors could also be displayed, e.g., a time access representing the fixture's running time with each column representing, for example, 10 hours of time.

[0261] Operation over the tech port allows the following operations.

[0262] Diagnostic Mode

[0263] Mode accessed by PIN number or password.

[0264] Automatic log-in to supervisor with the required terminal details sent to be logged and date and time stamped by the supervisor.

[0265] Request a test of the lamp by the supervisor.

[0266] View error log to see what errors may have occurred.

[0267] View serial number of lamp.

[0268] Check bulb burn time.

[0269] Run diagnosis routine to fault-find lamp based on the tests.

[0270] Save messages in assembly ROMS for use by service department.

[0271] Make copies of logs in the lamp for detail examination by service department, i.e., transferring to a computer to be sent by modem.

[0272] Manual Mode

[0273] Control the lamp using the displayed menu allowing:

[0274] Pan

[0275] Tilt

[0276] Zoom

[0277] Shutter

[0278] Color

[0279] Gobos

[0280] Strike

[0281] Douse

[0282] A test chase can also be done, with the facility to turn individual functions on and off as required.

[0283] Service Mode

[0284] This allows downloading of memory contents at a service department and is to be done automatically by placing the terminal into a cradle with the data being collected onto a PC.

[0285] Each error condition that can be detected will either be FATAL or NON-FATAL and will have a text message string associated with it used to describe the error in English. This section lists all the errors so a decision can be made to the type of error and corresponding message. 2.1.0 Each NON-FATAL error will be prefixed with the string - “!ERROR” 2.2.0 Each FATAL error will be prefixed with the string - “!FATAL ERROR” 2.3.0 IIC bus errors. (All IIC bus errors are probably Fatal) (Fatal) ET: Message: 2.3.1 Data line shorted to OV (Fatal) ET: Message: 2.3.2 Data line shorted to 5V (Fatal) ET: Message: 2.3.3 Clock line shorted to OV (Fatal) ET: Message: 2.3.4 Clock line shorted to 5V (Fatal) ET: Message: 2.3.5 Clock and data line shorted to each other (Fatal) ET: Message:

[0286] 2.4.0 Remote temperature sensing PCB missing (Fatal) ET: Message: 2.5.0 Ballast temperature sensor missing ET: Message: 2.6.0 Thermo-electric controller board missing (Fatal) ET: Message: 2.7.0 Ballast Rom missing ET: Message: 2.8.0 Yoke Rom missing ET: Message: 2.9.0 Head Rom missing ET: Message: 2.10.0 Supervisor temperature sensor missing ET: Message: 2.11.0 Thermocouple 1 broken or missing ET: Message: 2.12.0 Thermocouple 2 broken or missing ET: Message: 2.13.0 Thermocouple 3 broken or missing ET: Message: 2.14.0 Thermocouple 4 broken or missing ET: Message: 2.15.0 Thermocouple 5 broken or missing ET: Message: 2.16.0 Thermocouple 6 broken or missing ET: Message: 2.17.0 Thermocouple 7 broken or missing ET: Message: 2.18.0 Thermocouple 8 broken or missing ET: Message: 2.19.0 Clock error ET: Message: 2.20.0 Thermocouple 1 exceeded pre-set temperature (Non-Fatal) ET: Message: 2.21.0 Thermocouple 2 exceeded pre-set temperature (Non-Fatal) ET: Message: 2.22.0 Thermocouple 3 exceeded pre-set temperature (Non-Fatal) ET: Message: 2.23.0 Thermocouple 4 exceeded pre-set temperature (Non-Fatal) ET: Message: 2.24.0 Thermocouple 5 exceeded pre-set temperature (Non-Fatal) ET: Message: 2.25.0 Thermocouple 6 exceeded pre-set temperature (Non-Fatal) ET: Message: 2.26.0 Thermocouple 7 exceeded pre-set temperature (Non-Fatal) ET: Message: 2.27.0 Thermocouple 8 exceeded pre-set temperature (Non-Fatal) ET: Message: 2.28.0 Thermocouple 1 exceeded upper temperature limit (Fatal) ET: Message: 2.29.0 Thermocouple 2 exceeded upper temperature limit (Fatal) ET: Message: 2.30.0 Thermocouple 3 exceeded upper temperature limit (Fatal) ET: Message: 2.31.0 Thermocouple 4 exceeded upper temperature limit (Fatal) ET: Message: 2.32.0 Thermocouple 5 exceeded upper temperature limit (Fatal) ET: Message: 2.33.0 Thermocouple 6 exceeded upper temperature limit (Fatal) ET: Message: 2.34.0 Thermocouple 7 exceeded upper temperature limit (Fatal) ET: Message: 2.35.0 Thermocouple 8 exceeded upper temperature limit (Fatal) ET: Message: 2.36.0 Thermocouple differential pre-set exceeded (Non-Fatal) ET: Message: 2.37.0 Thermocouple differential upper limit exceeded (Fatal) ET: Message: 2.38.0 Supervisor exceeded pre-set temperature (Non-Fatal) ET: Message: 2.39.0 Ballast exceeded pre-set temperature (Non-Fatal) ET: Message: 2.40.0 Supervisor exceeded upper temperature limit (Fatal) ET: Message:

[0287] 2.41.0 Ballast exceeded upper temperature limit (Fatal) ET: Message: 2.42.0 Ballast serial number changed ET: Message: 2.43.0 Remote temperature sensor PCB serial number changed ET: Message: 2.44.0 TEC serial number changed ET: Message: 2.45.0 Yoke serial number changed ET: Message: 2.46.0 Head serial number changed ET: Message: 2.47.0 Ballast serial number missing/invalid ET: Message: 2.48.0 Remote temperature sensor PCB serial number missing/invalid 2.49.0 TEC serial number missing/invalid ET: Message: 2.50.0 Yoke serial number missing/invalid ET: Message: 2.51.0 Head serial number missing/invalid ET: Message: 2.52.0 DSP master serial number changed ET: Message: 2.53.0 Pan assembly serial number changed ET: Message: 2.54.0 Tilt assembly serial number changed ET: Message: 2.55.0 Lens 1 assembly serial number changed ET: Message: 2.56.0 Lens 1 assembly serial number changed ET: Message: 2.57.0 Focus assembly serial number changed ET: Message: 2.58.0 RGB assembly serial number changed ET: Message: 2.59.0 Color disk 1 assembly serial number changed ET: Message: 2.60.0 Color disk 2 assembly serial number changed ET: Message: 2.61.0 Custom Color disk assembly serial number changed ET: Message: 2.62.0 Ballast serial number missing/invalid ET: Message: 2.63.0 Remote temperature sensor PCB serial number missing/invalid ET: Message: 2.64.0 TEC serial number missing/invalid ET: Message: 2.65.0 Yoke serial number missing/invalid ET: Message: 2.66.0 Head serial number missing/invalid ET: Message: 2.67.0 Pan has failed to reset ET: Message: 2.68.0 Pan drive module over pre-set temperature 2.69.0 Pan drive module has exceeded maximum temperature ET: Message: 2.70.0 Pan assembly detected MCB errors ET: Message: 2.71.0 Tilt has failed to reset ET: Message: 2.72.0 Tilt drive module over pre-set temperature ET: Message: 2.73.0 Tilt drive module has exceeded maximum temperature ET: Message: 2.74.0 Tilt assembly detected MCB errors ET: Message: 2.75.0 Lens 1 failed to reset ET: Message: 2.76.0 Lens 1 drive over pre-set temperature ET: Message: 2.77.0 Lens 1 has exceeded maximum temperature ET: Message: 2.78.0 Lens 1 lost position ET: Message: 2.79.0 Lens 1 assembly detected MCB errors ET: Message: 2.80.0 Lens 1 corrected loss of position ET: Message: 2.81.0 Lens 2 failed to reset ET: Message: 2.82.0 Lens 2 drive over pre-set temperature ET: Message: 2.83.0 Lens 2 has exceeded maximum temperature ET: Message: 2.84.0 Lens 2 lost position ET: Message: 2.85.0 Lens 2 assembly detected MCB errors ET: Message: 2.86.0 Lens 2 corrected loss of position ET: Message:

[0288] 2.87.0 Focus failed to reset ET: Message: 2.88.0 Focus drive over pre-set temperature ET: Message: 2.89.0 Focus has exceeded maximum temperature ET: Message: 2.90.0 Focus lost position ET: Message: 2.91.0 Focus assembly detected MCB errors ET: Message: 2.92.0 Focus corrected loss of position ET: Message: 2.94.0 Color 1 drive over pre-set temperature ET: Message: 2.95.0 Color 1 has exceeded maximum temperature ET: Message: 2.96.0 Color 1 lost position ET: Message: 2.97.0 Color 1 assembly detected MCB errors ET: Message: 2.98.0 Color 1 corrected loss of position ET: Message: 2.99.0 Color 2 failed to reset ET: Message: 2.100.0 Color 2 drive over pre-set temperature ET: Message: 2.101.0 Color 2 has exceeded maximum temperature ET: Message: 2.102.0 Color 2 lost position ET: Message: 2.103.0 Color 2 assembly detected MCB errors ET: Message: 2.104.0 Color 2 corrected loss of position ET: Message: 2.105.0 Custom color failed to reset ET: Message: 2.106.0 Customer color drive over pre-set temperature ET: Message: 2.107.0 Custom color has exceeded maximum temperature ET: Message: 2.108.0 Custom color lost position ET: Message: 2.109.0 Custom assembly detected MCB errors ET: Message: 2.110.0 Customer corrected loss of position ET: Message: 2.111.0 RGB locator failed to reset ET: Message: 2.112.0 RGB locator drive over pre-set temperature ET: Message: 2.113.0 RGB locator has exceeded maximum temperature ET: Message: 2.114.0 RGB locator lost position ET:. Message: 2.115.0 RGB assembly detected MCB errors ET: Message: 2.116.0 Shutter failed to reset ET: Message: 2.117.0 Shutter drive over pre-set temperature ET: Message: 2.118.0 Shutter has exceeded maximum temperature ET: Message: 2.119.0 Shutter lost position ET: Message: 2.120.0 Shutter assembly detected MCB errors ET: Message: 2.121.0 Shutter corrected loss of position ET: Message: 2.122.0 DSP RAM error ET: Message: 2.123.0 DSP ROM error ET: Message: 2.124.0 DSP FPGA error ET: Message: 2.125.0 DLP IIC bus error 1 ET: Message: 2.126.0 DLP IIC bus error 2 ET: Message: 2.227.0 DLP IIC bus error 3 ET: Message 1.128.0 DLP IIC bus error 4 ET: Message: 2.129.0 ICON data errors (errors detected by DSP master) ET: Message: 2.130.0 MCB bus data errors (framing and parity errors detected by supervisor) ET: Message:

[0289] Another operation which can be carried out is the diagnostic gobo. This allows the system to be monitored from the console. Specifically, since the digital mirror device can arrange the shape of light into any desired shape, it can include font shapes. This enables the technician to use the console to focus the image on a screen or any suitable surface. Lamp status can then be seen by the fonts which are prestored and projected by the fixture. This enables checking an entire system relatively quickly.

[0290] The same error handling techniques are used, and in this case, the DSP 250 can store font information. This enables projecting the diagnostic gobo information. Of course, certain faults may prevent the diagnostic gobo from operating. For example, if the DSP is not working or if zoom or focus has a problem, then the image is not readable. Failure of pan and tilt may prevent moving the lamp to a position where it is viewable. Moreover, any fatal error will cause the lamp to turn off, hence preventing the image from being seen.

[0291] If the lamp can be seen, however, any desired error could be presented. This can include details of custom gobo pallets, lamp status, and bulb life. A non-exclusive list of different errors and their status follows.

[0292] Another embodiment is shown in FIG. 6. Specifically, the DMD 100 has very exacting temperature requirements. The surface of the DMD needs to be kept at 55° C. or less and preferably below 45° C. The inventors believe that the life of the DMD will be improved if it can be kept below 40° C. The inventors have also recognized the desirability of maintaining the temperature differential, or delta T, across the DMD. The inventors postulate that the delta T should not be greater than 15° C.: i.e. the temperature of the front of the DMD must be within 15° C. of the temperature of the back of the DMD. However, this provides a special cooling challenge for the DMD when cooled from the rear.

[0293] The solution, illustrated in FIG. 6, is to use a pulse width modulated thermo-electric cooler. A thermo-electric cooler is a device which pumps cold from one side to the other using the Peltier effect. When current is applied across the thermo-electric device, one side becomes very cold and the other side becomes very hot. This has the effect of essentially pumping the heat from the cold side to the hot side.

[0294] The overall structure is shown in FIG. 6. The DMD 600 has thermocouples 602 and 604, respectively, on the front and rear sides thereof. These thermocouples monitor the surface temperatures of the DMD device.

[0295] In operation, incoming light 610 bounces off the front surface 612 of the DMD. A certain amount of this light is converted to heat which hence travels from the front surface.

[0296] The back surface 614 of the DMD is coated with thermally conducting paste 616. This past 616 provides a thermal bond between the back surface of the DMD and the thermo-electric cooler 618. The cold side 617 of the thermo-electric cooler 618 is pressed against the back surface 614 of the DMD. The hot surface 619 of the thermoelectric cooler 618 is pressed against a cooling heat sink 620 via thermally conductive paste 622.

[0297] In operation, the thermo-electric cooler is energized by an energizing signal 625. The energizing signal 625, when active, causes the thermo-electrical cooler to be heated on the hot side 619 and cooled on the cold side 617. However, this could overcool the back side 614 of the DMD 600 relative to the front 612. The signal 625 therefore is provided at a specified duty cycle less than 100% to avoid this high thermal gradient.

[0298] The DMD is preferably cooled to 30-40° C.

[0299] The operation is shown with respect to the flowchart of FIG. 7. As a baseline initial value, a 50 k duty cycle is used for the starting operation at step 700. This value is used when the DMD is operating properly, and during time while the light 610 is being reflected. The temperature of the thermocouple 602 is monitored at step 702. When step 704 indicates that the front surface of the DMD is getting too hot, the duty cycle is increased by 10% at a time shown at step 706, and a 2 minute settling time is allowed. Then the duty cycle can be increased by another 10% if necessary. If the delta T from front 612 to back 614 gets too high as detected at step 710, the duty cycle is reduced to compensate. This allows the overall temperature to be increased some in order to reduce delta T. When both the delta T and temperature get too high, the lamp may need to be doused or dimmed in order to reduce the delta T. This is shown as an interrupt in FIG. 7.

[0300] An even further preferred system carries out the temperature sensing and cooling of the device using a service pack device shown in FIGS. 5A and 5B. FIG. 5A shows the unit as laid out in a line. The drive element 800 produces drive signals for providing cooling power to the rear TE device 802 and to the front TE device 804. Front device 802 and rear device 804 are connected by an electrical connection 806, which also houses front temp sensor 808 and rear temp sensor 810. This allows separately cooling the front surface and rear surface, and also separately sensing the temperatures of the first and second surfaces.

[0301] Although only a few embodiments have been described in detail above, other embodiments are contemplated by the inventor and are intended to be encompassed within the following claims. In addition, other modifications are contemplated and are also intended to be covered. 

What is claimed is:
 1. A stage lighting unit comprising: a plurality of lighting subsystems including motors, at least one of said motors controls a color of light, and another of which controls pan and tilt of said unit; a first controller adapted for control of said subsystems, said first controller including a plurality of output ports, at least some of which output ports are connected to said lighting subsystems including motors, said first controller formed from a programmable gate array, configured to include at least said plurality of output ports, forming said output ports of said first controller.
 2. A lighting system as in claim 1, wherein said programmable gate array is a field programmable gate array.
 3. A light system, comprising: a digital micromirror device; a thermoelectric device, in thermal contact with said digital micromirror device; and a control structure which pulse width modulates a drive to said thermoelectric device.
 4. An apparatus as in claim 3, further comprising a processor, which detects both front and back temperatures of said digital micromirror device, and controls said drive based on both said front and back temperature. 